package conf

import (
	"fmt"

	"github.com/BurntSushi/toml"
	log "github.com/marmotedu/iam/pkg/log"
)

func LoadConfigFormToml(filePath string) error {
	config = NewConfig()
	if _, err := toml.DecodeFile(filePath, config); err != nil {
		return fmt.Errorf("load config error,path:%s,%v", filePath, err)
	}
	return nil
}

// 根据config里面的日志配置,来配置全局logger对象
func LoadGlobalLogger() error {
	Lg := (*log.Options)(C().Log)
	log.Init(Lg)
	return nil
}

func Start(confFile string) error {
	// 加载程序配置
	err := LoadConfigFormToml(confFile)
	if err != nil {
		panic(err)
	}
	// 初始化全局日志logger
	if err := LoadGlobalLogger(); err != nil {
		panic(err)
	}
	return nil
}
